A Type System For Call-By-Name Exceptions
نویسنده
چکیده
We present an extension of System F with call-by-name exceptions. The type system is enriched with two syntactic constructs: a union type for programs whose execution may raise an exception at top level, and a corruption type for programs that may raise an exception in any evaluation context (not necessarily at top level). We present the syntax and reduction rules of the system, as well as its typing and subtyping rules. We then study its properties, such as confluence. Finally, we construct a realizability model using orthogonality techniques, from which we deduce that well-typed programs are weakly normalizing and that the ones who have the type of natural numbers really compute a natural number, without raising exceptions.
منابع مشابه
A System F with Call-by-Name Exceptions
We present an extension of System F with call-by-name exceptions. The type system is enriched with two syntactic constructs: a union type A ? ∪{ε} for programs of type A whose execution may raise the exception ε at top level, and a corruption type A{ε} for programs that may raise the exception ε in any evaluation context (not necessarily at top level). We present the syntax and reduction rules ...
متن کاملUnchecked Exceptions Can Be Strictly More Powerful Than Call/CC
We demonstrate that in the context of statically-typed purely-functional lambda calculi without recursion, unchecked exceptions (e.g., SML exceptions) can be strictly more powerful than call/cc. More precisely, we prove that a natural extension of the simply-typed lambda calculus with unchecked exceptions is strictly more powerful than all known sound extensions of Girard’s Fω (a superset of th...
متن کاملRe-imagining Research: A Bold Call, but Bold Enough?; Comment on “Experience of Health Leadership in Partnering with University-Based Researchers in Canada: A Call to ‘Re-Imagine’ Research”
Many articles over the last two decades have enumerated barriers to and facilitators for evidence use in health systems. Bowen et al’s article “Response to Experience of Health Leadership in Partnering with University-Based Researchers: A Call to ‘Re-imagine Research’” furthers the debate by focusing on an under-explored research area (health system design and health service organization) with ...
متن کاملStatically-Scoped Exceptions: a Typed Foundation for Aspect-Oriented Error Handling
Aspect-oriented programming systems such as AspectJ provide mechanisms for modularizing crosscutting error-handling concerns. However, AspectJ’s advice does not integrate well with Java’s checked exception mechanism. Furthermore, conventional exception-handling facilities such as AspectJ’s share the problem of accidental exception capture due to the dynamic nature of exception-handling semantic...
متن کاملA type system for Continuation Calculus
Continuation Calculus (CC), introduced by Geron and Geuvers [2], is a simple foundational model for functional computation. It is closely related to lambda calculus and term rewriting, but it has no variable binding and no pattern matching. It is Turing complete and evaluation is deterministic. Notions like “call-by-value” and “call-by-name” computation are available by choosing appropriate fun...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Logical Methods in Computer Science
دوره 5 شماره
صفحات -
تاریخ انتشار 2009